package models;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import play.db.DB;

/**
 * @author edwyn
 */
public class Resposta {

	private int codigo_usuario;
	private int codigo_enquete;
	private int codigo_opcao;
	
	public Resposta() {
		setCodigo_usuario(-1);
		setCodigo_enquete(-1);
		setCodigo_opcao(-1);
	}
	
	public Resposta(int codigo_usuario, int codigo_opcao, int codigo_enquete) {
		this.codigo_usuario = codigo_usuario;
		this.codigo_enquete = codigo_enquete;
		this.codigo_opcao = codigo_opcao;
	}
	
	/**
     * Inserts the Evento object in the DB
     */
    public void save() throws SQLException {
    	DB.execute("INSERT INTO resposta(codigo_usuario, codigo_enquete, codigo_opcao) VALUES("
    			+ "'" + Integer.toString(this.codigo_usuario) + "',"
    			+ "'" + Integer.toString(this.codigo_enquete) + "',"
    			+ "'" + Integer.toString(this.codigo_opcao) + "'"
    			+ ")");
    }
    
    public static List<Resposta> all(int codigo_enquete) throws SQLException {
    	ResultSet rs = DB.executeQuery("SELECT * FROM resposta where codigo_enquete = '"+ codigo_enquete +"'");
    	
    	List<Resposta> lista = new ArrayList<Resposta>();
    	
    	while(rs.next()) {
    		Resposta resposta = new Resposta(rs.getInt(1), rs.getInt(2), rs.getInt(3));
    		lista.add(resposta);
    	}
    	
    	return lista;
    }
   
    public static List<Resposta> allUsuario(int codigo_usuario) throws SQLException {
    	ResultSet rs = DB.executeQuery("SELECT * FROM resposta where codigo_usuario = '"+ codigo_usuario +"'");
    	
    	List<Resposta> lista = new ArrayList<Resposta>();
    	
    	while(rs.next()) {
    		Resposta resposta = new Resposta(rs.getInt(1), rs.getInt(2), rs.getInt(3));
    		lista.add(resposta);
    	}
    	
    	return lista;
    }
    
    public static Resposta getUsuarioEnquete(int codigo_usuario, int codigo_enquete) throws SQLException {
    	ResultSet rs = DB.executeQuery("SELECT * FROM resposta where codigo_usuario = '"+ codigo_usuario +
    			"' and codigo_enquete = '"+ codigo_enquete +"'");
    	
    	Resposta resposta = new Resposta();
    	
    	while(rs.next()) {
    		resposta.setCodigo_usuario(rs.getInt(1));
    		resposta.setCodigo_enquete(rs.getInt(3));
    		resposta.setCodigo_opcao(rs.getInt(2));
    	}
    	
    	return resposta;
    }

	/**
	 * @return the codigo
	 */
	public int getCodigo_usuario() {
		return codigo_usuario;
	}

	/**
	 * @param codigo the codigo to set
	 */
	public void setCodigo_usuario(int codigo) {
		this.codigo_usuario = codigo;
	}

	/**
	 * @return the codigo_usuario
	 */
	public int getCodigo_enquete() {
		return codigo_enquete;
	}

	/**
	 * @param codigo_usuario the codigo_usuario to set
	 */
	public void setCodigo_enquete(int codigo_enquete) {
		this.codigo_enquete = codigo_enquete;
	}
	
	/**
	 * @return the codigo_usuario
	 */
	public int getCodigo_opcao() {
		return codigo_opcao;
	}

	/**
	 * @param codigo_usuario the codigo_usuario to set
	 */
	public void setCodigo_opcao(int codigo_opcao) {
		this.codigo_opcao = codigo_opcao;
	}
}
